/**
 * DEVUELVE EL PRIMER VALOR MÁS REPETIDO DEL ARRAY.
 */
package tools.arrays;

/**
 *
 * @author Félix Marín Ramírez | felixmurcia@gmail.com
 * @version 1.0.1b
 */
public class ValorMasRepetido implements java.io.Serializable {

    /**
     *
     * @param vector array enviado como argumento desde el main hasta el método
     * valorMasRepetido.
     * @param repeticiones Array enviado como parámetro desde el main en el cual
     * se irán contabilizando las veces que se repite un número en el array
     * "vector".
     * @return el valor más repetido del array "vector".
     */
    public int valorMasRepetido(int vector[], int repeticiones[]) {

        int posicion = 0;//VARIABLE QUE INCREMENTA HASTA LLEGAR A LA POSICIÓN CON EL VALOR MAS ALTO
        int vecesQueSeRepite = 0;//VARIABLE QUE INDICA EL NUMERO QUE MÁS VECES APARECE

        //BUCLE FOR QUE AÑADE EN EL ARRAY REPETICIONES LAS VECES QUE SE REPITE UN NUMERO EN EL ARRAY VECTOR
        for (int i = 0; i < vector.length - 1; i++) {
            repeticiones[vector[i]]++;
            if (vecesQueSeRepite <= repeticiones[vector[i]]) {
                vecesQueSeRepite = repeticiones[vector[i]];
            }//Fin del if
        }//Fin del for

        while (repeticiones[posicion] != vecesQueSeRepite) {
            posicion++;
        }//Fin del while
        return posicion;
    }//Fin del método valorMasRepetido
}//Fin de la clase

